home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 4.4 KB | 180 lines |
- 10 'SLOPER - Sloper Antennas - 07 JAN 97 rev.
- 20 IF EX$=""THEN EX$="EXIT"
- 30 '
- 40 CLS:KEY OFF 'start
- 50 COLOR 7,0,1
- 60 PI=3.14159
- 70 U$="###.###"
- 80 COLOR 15,2
- 90 PRINT " SLOPER ANTENNA DIMENSIONS";TAB(57)"by George Murphy VE3ERP ";
- 100 COLOR 1,0:PRINT STRING$(80,223);
- 110 COLOR 7,0
- 120 '
- 130 '.....diagram
- 140 LOCATE 3
- 150 PRINT " VARPTRDEFDBL TO\"
- 160 PRINT " CALL OPEN \DEFSNGSOUNDSOUND upper support"
- 170 PRINT " CALL OPEN \"
- 180 PRINT " CALL OPEN XDEFSNGSOUNDSOUND insulator"
- 190 PRINT " CALL OPEN \"
- 200 PRINT " CALL OPEN \"
- 210 PRINT " CALL OPEN \"
- 220 PRINT " CALL OPEN \"
- 230 PRINT " CALL OPEN \"
- 240 PRINT " A OPEN \DEFSNGSOUNDSOUND antenna wire"
- 250 PRINT " CALL OPENDEFSNG- metal \"
- 260 PRINT " CALL OPEN mast or \"
- 270 PRINT " CALL OPEN tower \"
- 280 PRINT " CALL OPEN (grounded) \"
- 290 PRINT " CALL OPEN \"
- 300 PRINT " CALL OPEN slope XDEFSNGSOUNDSOUND insulator"
- 310 PRINT " CALL OPEN angle SOUNDSOUNDDEFDBL+ \DEFSNGSOUNDSOUND lower support"
- 320 PRINT " CLSDEFDBL SOUNDUSINGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND\SOUNDSOUNDSOUND ground"
- 330 PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUND B SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL"
- 340 '
- 350 GOSUB 1510:COLOR 0,7
- 360 PRINT " Press 1 to continue or 0 to EXIT....."
- 370 COLOR 7,0
- 380 Z$=INKEY$:IF Z$=""THEN 380
- 390 IF Z$="0"THEN CLS:RUN EX$
- 400 IF Z$="1"THEN 420
- 410 GOTO 380
- 420 GOSUB 1510:COLOR 0,7
- 430 PRINT " Do you want dimensions in (m)etres or (f)eet? (m/f) "
- 440 COLOR 7,0
- 450 Z$=INKEY$:IF Z$=""THEN 450
- 460 IF Z$="m"THEN D$="metres":K=0.3048:GOTO 490
- 470 IF Z$="f"THEN D$="feet":K=1:GOTO 490
- 480 GOTO 450
- 490 GOSUB 1510:COLOR 0,7
- 500 LOCATE 5,45:PRINT " All dimensions are in ";D$;" "
- 510 LOCATE 23:COLOR 0,7
- 520 PRINT " Do you want a (f)ull sloper or a (h)alf sloper? (f/h) "
- 530 COLOR 7,0
- 540 Z$=INKEY$:IF Z$=""THEN 540
- 550 IF Z$="h"THEN S$="HALF":COLOR 7,0:GOTO 580
- 560 IF Z$="f"THEN S$="FULL":COLOR 7,0:GOTO 610
- 570 GOTO 540
- 580 LOCATE 7,12:PRINT "THEN DEFSNGSOUNDSOUND feedpoint"
- 590 LOCATE 12,18:PRINT "DEFSNGSOUNDSOUND antenna wire":GOTO 650
- 600 '
- 610 LOCATE 6,16:PRINT "insulator"
- 620 LOCATE 9,15:PRINT "DEFSNGSOUNDSOUND antenna wire"
- 630 LOCATE 12,17:PRINT "THEN DEFSNGSOUNDSOUND feedpoint "
- 640 LOCATE 15,21:PRINT "DEFSNGSOUNDSOUND antenna wire":GOTO 650
- 650 LOCATE 3,45:PRINT S$;"-SLOPER ANTENNA"
- 660 LOCATE 4,45:PRINT STRING$(34,205)
- 670 '
- 680 LOCATE 4,27:COLOR 30:PRINT "*"
- 690 GOSUB 1510
- 700 COLOR 0,7:PRINT " ENTER: Length of upper support (";D$;")";
- 710 INPUT UG
- 720 LOCATE 4,27:PRINT USING U$;UG;:PRINT " long"
- 730 COLOR 7,0
- 740 '
- 750 LOCATE 19,42:COLOR 30:PRINT "*"
- 760 GOSUB 1510
- 770 COLOR 0,7:PRINT " ENTER: Length of lower support (";D$;")";
- 780 INPUT LG
- 790 LOCATE 19,42:PRINT USING U$;LG;:PRINT " long"
- 800 COLOR 7,0
- 810 '
- 820 GOSUB 1510:COLOR 0,7
- 830 COLOR 0,7:INPUT " ENTER: Operating frequency (MHz)";F:COLOR 7,0
- 840 LOCATE 3,65:PRINT "for";F;"MHz"
- 850 '
- 860 GOSUB 1510:LOCATE 23
- 870 IF S$="FULL"THEN 890
- 880 IF S$="HALF"THEN 960
- 890 '.....full sloper
- 900 WIRE=467.2*K/F '1/2 wavelength
- 910 COLOR 0,7
- 920 LOCATE 10,19:PRINT USING U$;WIRE/2;:PRINT " long"
- 930 LOCATE 16,25:PRINT USING U$;WIRE/2;:PRINT " long"
- 940 COLOR 7,0
- 950 GOTO 1030
- 960 '.....half sloper
- 970 WIRE=467.2*K/F/2 '1/4 wavelength
- 980 COLOR 0,7
- 990 LOCATE 13,22:PRINT USING U$;WIRE;:PRINT " long"
- 1000 COLOR 7,0
- 1010 GOTO 1030
- 1020 '
- 1030 HYP=WIRE+UG+LG 'hypotenuse
- 1040 A=SQR(HYP^2/2):B=A 'sides
- 1050 TH=ATN(A/B)*180/PI 'angle in degrees
- 1060 GOSUB 1080:GOTO 1280
- 1070 '
- 1080 '.....display dimensions
- 1090 LOCATE 7,45:PRINT " Length of slope =";
- 1100 COLOR 0,7:PRINT USING U$;HYP;:PRINT " "
- 1110 COLOR 0,7
- 1120 LOCATE 9,45:PRINT " A =";USING U$;A;:PRINT " "
- 1130 LOCATE 11,45:PRINT " B =";USING U$;B;:PRINT " "
- 1140 LOCATE 13,45:PRINT " + =";USING "###.##";TH;:PRINT "<UNK! {00F8}> "
- 1150 COLOR 7,0:GOSUB 1510
- 1160 COLOR 15:PRINT " Press number in < > to:"
- 1170 LOCATE CSRLIN-1,19:COLOR 30:PRINT "*"
- 1180 COLOR 0,7
- 1190 PRINT "CSRLIN <1> Change A CSRLIN <2> Change B CSRLIN <3> Change angle (+) ";
- 1200 PRINT "CSRLIN <4> Accept as is CSRLIN";
- 1210 COLOR 7,0
- 1220 Z$=INKEY$:IF Z$=""THEN 1220
- 1230 IF Z$="1"THEN 1290
- 1240 IF Z$="2"THEN 1360
- 1250 IF Z$="3"THEN 1430
- 1260 IF Z$="4"THEN 1550
- 1270 GOTO 1220
- 1280 '
- 1290 '.....change (a)
- 1300 GOSUB 1510:COLOR 0,7
- 1310 PRINT " ENTER: New dimension A in ";D$;:INPUT A
- 1320 IF A>=HYP THEN BEEP:GOSUB 1510:GOTO 1310
- 1330 B=SQR(HYP^2-A^2)
- 1340 TH=ATN(A/B)*180/PI
- 1350 GOTO 1110
- 1360 '.....change (b)
- 1370 GOSUB 1510:COLOR 0,7
- 1380 PRINT " ENTER: New dimension B in ";D$;:INPUT B
- 1390 IF B>=HYP THEN BEEP:GOSUB 1510:GOTO 1380
- 1400 A=SQR(HYP^2-B^2)
- 1410 TH=ATN(A/B)*180/PI
- 1420 GOTO 1110
- 1430 '.....change (+)
- 1440 GOSUB 1510:COLOR 0,7
- 1450 INPUT " ENTER: New angle (+) in degrees";TH
- 1460 IF TH>=90 THEN BEEP:GOSUB 1510:GOTO 1450
- 1470 TR=TH*PI/180 'angle in radians
- 1480 A=SIN(TR)*HYP:B=COS(TR)*HYP
- 1490 GOTO 1110
- 1500 '
- 1510 '.....erase lines 22-24
- 1520 VIEW PRINT 22 TO 24:CLS:VIEW PRINT:LOCATE 23
- 1530 RETURN
- 1540 '
- 1550 '.....end
- 1560 GOSUB 1510
- 1570 PRINT " Dimensions shown are exact for a right-angle triangle. Allow";
- 1580 PRINT " extra length in"
- 1590 PRINT " supports and antenna wires to suit actual site conditions and for";
- 1600 PRINT " pruning.";
- 1610 LOCATE 15,46:PRINT "See the ARRL HANDBOOK or the ARRL"
- 1620 LOCATE 16,46:PRINT "ANTENNA BOOK for other design"
- 1630 LOCATE 17,46:PRINT "parameters."
- 1640 GOSUB 1670:GOTO 40
- 1650 END
- 1660 '
- 1670 'HARDCOPY
- 1680 GOSUB 1790:LOCATE 25,2:COLOR 14,6
- 1690 PRINT " Press 1 to print screen, 2 to print screen & ";
- 1700 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 1710 Z$=INKEY$:IF Z$="3"THEN GOSUB 1790:RETURN
- 1720 IF Z$="1"OR Z$="2"THEN GOSUB 1790:GOTO 1740
- 1730 GOTO 1710
- 1740 FOR QX=1 TO 24:FOR QY=1 TO 80
- 1750 LPRINT CHR$(SCREEN(QX,QY));
- 1760 NEXT QY:NEXT QX
- 1770 IF Z$="2"THEN LPRINT CHR$(12)
- 1780 GOTO 1680
- 1790 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-